# noinspection PyUnresolvedReferences
import numpy as np
from numpy import *
data1=mat([
        [1,1,1,0,0],
        [2,2,2,0,0],
        [1,1,1,0,0],
        [5,5,5,0,0],
        [1,1,0,2,2],
        [0,0,0,3,3],
        [0,0,0,1,1]])#mat与array略有不同，mat是矩阵，array为数组,如array([1,2,3,4])，但不限于一维数组，list列表，list[1,2,3,4]
print(data1.shape[0])#返回矩阵的行
print(data1.shape[1])#返回矩阵的列
u,sigma,vt=np.linalg.svd(data1)##矩阵data1的SVD分解
print(u)
data1[1,2]#输出2行1列的值
nonzero(data1)#返回的是两行的array，每一行array中元素的个数n（列数）为原本矩阵中不为0的元素的个数，矩阵中的每个元素是不为0元素的索引值

mat(nonzero(data1))#若再mat一下，就是一个2*n的矩阵

data3=[1,4,3,5,2]
sorted(data3)#由小到大排序
sorted(data3,reverse=True)#由大到小排序

data4=[('鲍鱼',5),('鸡翅',1),('猪蹄',3),('龙虾',4),('花甲',2)]#爱好排行榜
sorted(data4,key=lambda x:x[1],reverse=True)#由元组构成的列表的排序方法需要用到key=lambda x:x[1]，lambda是一个隐函数，
# x[1]指的是按元组后面的元素排序（即按大小数值排序）


for i in range(5):#for i in range(5)的神奇用法
    if i%2==0:
        i=99
    print(i)


np.logical_and([True, False], [False, False])#